#include "lista.h"

class graf
{
private:
	bool ** data;
	int wierzcholki;
	lista * lista_sasiedztwa;
	lista * stos;
	lista * wynik;
public:
	graf(int w = 0);
	void losuj();
	void losuj_graf_nieskierowany();
	void sprawdz_warunki();
	void sprawdz_warunki_graf_nieskierowany();
	int stopien_wierzcholka(int w = 0);
	bool parzysty(int w = 0);
	bool czy_posiada_droge(int start, int finish);
	void tworz_liste_sasiedztwa();
	void szukaj_sciezki(int start = 0);
	void szukaj_sciezki_rekurencyjnie(int strat = 0);
	void szukaj_sciezki_nieskierowanej_rekurencyjnie(int strat = 0, int emo = -99);
	int wczytaj_rozmiar();
	void wczytaj_tablice();
	void zapisz_tablice();
	void wyn_wielowatkowy(int ile);

	void wypisz_tablice();
	void wypisz_stopnie_wierzcholkow();
	void wypisz_parzystosc();
	void wypisz_liste_sasiadztwa();
	void wypisz_wynik();
};